using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("BnetFriendChangelist")]
	public class BnetFriendChangelist : MonoClass
	{
		public List<BnetPlayer> m_friendsAdded => method_3<Class271<BnetPlayer>>("m_friendsAdded")?.method_25();

		public List<BnetPlayer> m_friendsRemoved => method_3<Class271<BnetPlayer>>("m_friendsRemoved")?.method_25();

		public List<BnetInvitation> m_receivedInvitesAdded => method_3<Class271<BnetInvitation>>("m_receivedInvitesAdded")?.method_25();

		public List<BnetInvitation> m_receivedInvitesRemoved => method_3<Class271<BnetInvitation>>("m_receivedInvitesRemoved")?.method_25();

		public List<BnetInvitation> m_sentInvitesAdded => method_3<Class271<BnetInvitation>>("m_sentInvitesAdded")?.method_25();

		public List<BnetInvitation> m_sentInvitesRemoved => method_3<Class271<BnetInvitation>>("m_sentInvitesRemoved")?.method_25();

		public BnetFriendChangelist(IntPtr address, string className)
			: base(address, className)
		{
		}

		public BnetFriendChangelist(IntPtr address)
			: this(address, "BnetFriendChangelist")
		{
		}

		public List<BnetPlayer> GetAddedFriends()
		{
			return method_14<Class271<BnetPlayer>>("GetAddedFriends", Array.Empty<object>())?.method_25();
		}

		public List<BnetPlayer> GetRemovedFriends()
		{
			return method_14<Class271<BnetPlayer>>("GetRemovedFriends", Array.Empty<object>())?.method_25();
		}

		public List<BnetInvitation> GetAddedReceivedInvites()
		{
			return method_14<Class271<BnetInvitation>>("GetAddedReceivedInvites", Array.Empty<object>())?.method_25();
		}

		public List<BnetInvitation> GetRemovedReceivedInvites()
		{
			return method_14<Class271<BnetInvitation>>("GetRemovedReceivedInvites", Array.Empty<object>())?.method_25();
		}

		public List<BnetInvitation> GetAddedSentInvites()
		{
			return method_14<Class271<BnetInvitation>>("GetAddedSentInvites", Array.Empty<object>())?.method_25();
		}

		public List<BnetInvitation> GetRemovedSentInvites()
		{
			return method_14<Class271<BnetInvitation>>("GetRemovedSentInvites", Array.Empty<object>())?.method_25();
		}

		public bool IsEmpty()
		{
			return method_11<bool>("IsEmpty", Array.Empty<object>());
		}

		public void Clear()
		{
			method_8("Clear");
		}

		public bool AddAddedFriend(BnetPlayer friend)
		{
			return method_11<bool>("AddAddedFriend", new object[1] { friend });
		}

		public bool RemoveAddedFriend(BnetPlayer friend)
		{
			return method_11<bool>("RemoveAddedFriend", new object[1] { friend });
		}

		public void ClearAddedFriends()
		{
			method_8("ClearAddedFriends");
		}

		public bool AddRemovedFriend(BnetPlayer friend)
		{
			return method_11<bool>("AddRemovedFriend", new object[1] { friend });
		}

		public bool RemoveRemovedFriend(BnetPlayer friend)
		{
			return method_11<bool>("RemoveRemovedFriend", new object[1] { friend });
		}

		public void ClearRemovedFriends()
		{
			method_8("ClearRemovedFriends");
		}

		public bool AddAddedReceivedInvite(BnetInvitation invite)
		{
			return method_11<bool>("AddAddedReceivedInvite", new object[1] { invite });
		}

		public bool RemoveAddedReceivedInvite(BnetInvitation invite)
		{
			return method_11<bool>("RemoveAddedReceivedInvite", new object[1] { invite });
		}

		public void ClearAddedReceivedInvites()
		{
			method_8("ClearAddedReceivedInvites");
		}

		public bool AddRemovedReceivedInvite(BnetInvitation invite)
		{
			return method_11<bool>("AddRemovedReceivedInvite", new object[1] { invite });
		}

		public bool RemoveRemovedReceivedInvite(BnetInvitation invite)
		{
			return method_11<bool>("RemoveRemovedReceivedInvite", new object[1] { invite });
		}

		public void ClearRemovedReceivedInvites()
		{
			method_8("ClearRemovedReceivedInvites");
		}

		public bool AddAddedSentInvite(BnetInvitation invite)
		{
			return method_11<bool>("AddAddedSentInvite", new object[1] { invite });
		}

		public bool RemoveAddedSentInvite(BnetInvitation invite)
		{
			return method_11<bool>("RemoveAddedSentInvite", new object[1] { invite });
		}

		public void ClearAddedSentInvites()
		{
			method_8("ClearAddedSentInvites");
		}

		public bool AddRemovedSentInvite(BnetInvitation invite)
		{
			return method_11<bool>("AddRemovedSentInvite", new object[1] { invite });
		}

		public bool RemoveRemovedSentInvite(BnetInvitation invite)
		{
			return method_11<bool>("RemoveRemovedSentInvite", new object[1] { invite });
		}

		public void ClearRemovedSentInvites()
		{
			method_8("ClearRemovedSentInvites");
		}
	}
}
